/**
 * Created by KMY on 15-12-25.
 */
define(['jquery','helper/utils','intro','jquery.cookie','loader'],function($,__UTILS,introJs,jquery_cookie){
	var _this_tools = null;
	var init = function(){
		_this_tools = this;

	};

	var ajax = function(action, param, callback, hideLoad,options){
			// var async = (async == null ? false : true),
   //              type = (type == null ? 'GET':'POST');
                var options = (options == null ? {}:options);
			// if (!hideLoad || hideLoad === "undefined") {
   //              _this_tools.loading.show();
   //          }
            var settings = $.extend({
                type: 'GET',
                url: __UTILS.CONFIG.URL+action,
                async: false,
                data: param,
                xhrFields: {withCredentials: true},
                crossDomain:true,
                success: function(res){
                    console.log(__UTILS.CONFIG.URL+action);
                    callback(res);
                    
                }
            },options);
            $.ajax(settings);
			
            // setTimeout(function() {
            //     _this_tools.loading.hide()
            // }, 500);
	};
	var loading = {
        init: function(option) {
            var option = arguments[0]? arguments[0]:{};
            $(".loader").loader(option);
        },
        show: function(option) {   
            if ($(".loader").children().length === 0) {
                this.init(option);
                $(".loader").fadeIn(200);
            } else {
                $(".loader").fadeIn(200);
            }
            // loading.dramaticLoadingShow();

        },
        hide: function() {
            $(".loader").fadeOut(200);
        },
        // loader内放动画时可用来定位动画位置
        dramaticLoadingShow: function(){
            console.log("loading show");
            $(".dramatic_loading_img").css({
                left:0.5*$(".loader").width(),
                top:0.5*$(".loader").height()
            })
        }
    };
    var router = function(sectionName) {
        //存储当前显示的页面
        $("section:not(#" + sectionName + ")").hide();
        $("section#" + sectionName).fadeIn(300);
    };
    var tipZone = function(type, content){
        $(".top_tip").removeClass("tip_wrong tip_right").addClass(type).html(content).fadeIn(2000, function () {
            $(".top_tip").fadeOut(3000);
        })
    };
    var initiallyIntro = function(page){
        if(!$.cookie(page+"_intro")){
            $.cookie(page+"_intro",1);
            var steps;
            if(page == "pageReading"){
                steps = {'steps': [
                        {
                            element: '.pageReading_slide_btn_area',
                            //这里是每个引导框具体的文字内容，中间可以编写HTML代码
                            intro: '上下分别是书架和目录侧滑按钮,相应进入选书界面或打开本书目录',
                            //这里可以规定引导框相对于选中对象出现的位置 top,bottom,left,right
                            position: 'right'
                        },
                        {
                            element: '.page_cont',
                            intro: '阅读区域,标红点的是系统预测我不会的词，任何单词可点击标红或取消标记,在单词上悬停可以弹出翻译框~',
                            position: 'right'
                        },
                        {
                            element: '.word_count',
                            intro: '随着读书页数增加,我掌握的词汇也蹭蹭蹭上涨~',
                            position: 'left'
                        },
                        {
                            element: '.pagereading_desc_circle',
                            intro: '点击它可以显示或隐藏快捷操作提示哦，包括按option键可显示标红单词的翻译,按上或左键可翻至上一页，按下或右键可翻至下一页~',
                            position: 'top'
                        }
                    ]
                }
            }
            if(page == "chooseBook"){
                steps = {'steps': [
                        {
                            element: '.chooseBook_vocabularyBook_btn',
                            //这里是每个引导框具体的文字内容，中间可以编写HTML代码
                            intro: '点击可进入个人生词本,里面有预测生词和我手动标红的单词~',
                            //这里可以规定引导框相对于选中对象出现的位置 top,bottom,left,right
                            position: 'bottom'
                        },
                        {
                            element: '.chooseBook_user_word_size',
                            intro: '在这看到我阅读后词汇量日益上涨,想想都激动呢~',
                            position: 'left'
                        },
                        {
                            element: '.add_book',
                            intro: '可以添加自己的书哟，暂时仅支持.epub格式的~',
                            position: 'top'
                        }
                    ]
                }
            }
            if(page == "vocabularyBook"){
                steps = {'steps': [
                        {
                            element: '.vocabularyBook_bookshelf_btn',
                            intro: '点击可返回书架',
                            position: 'right'
                        },
                        {
                            element: '.vocabularyBook_predict_tab',
                            intro: '点击可查看系统预测的难词~',
                            position: 'bottom'
                        },
                        {
                            element: '.vocabularyBook_whole_tab',
                            intro: '点击可查看我的所有生词',
                            position: 'bottom'
                        },
                        {
                            element: '.word_list',
                            intro: '生词都在这里啦,一页装不下还可以翻页~',
                            position: 'right'
                        },
                        {
                            element: '.to_learn',
                            intro: '要是觉得生词多,读书吃力的话,可以使用百词斩软件学习哦~',
                            position: 'left'
                        }

                    ]
                }
            }
            introJs("#"+page).setOptions($.extend({ 
                'skipLabel': 'Close',  //跳过引导显示什么文字
                // 'tooltipPosition': 'right', //提示框的位置,同steps里的position作用
                'nextLabel':'Next',//下一个的按钮显示什么文字，下面两个类似
                'prevLabel':'Prev',
                'doneLabel':'Close',
                'showBullets':false,//是否显示表步骤小圆点的集合
                'exitOnOverlayClick':false, //点击遮罩层的时候是否退出
                // 'showProgress': 'true',       //是否展示提示的进度条
            },steps)).start();//退出的时候的回调,还可在start()后加.onexit(function(){confirm("确定退出吗")});
        }
    };
    return{
    	__UTILS: __UTILS,
    	init: init,
    	ajax: ajax,
    	loading: loading,
    	router: router,
        tipZone: tipZone,
        initiallyIntro: initiallyIntro
    }

})